Uncovering source code reuse in large-scale academic environments
نویسندگان
چکیده
The advent of the Internet has caused an increase in content reuse, including source code. The purpose of this research is to uncover potential cases of source code reuse in large-scale environments. A good example is academia, where massive courses are taught to students who must demonstrate that they have acquired the knowledge. The need of detecting content reuse in quasi real-time encourages the development of automatic systems such as the one described in this paper for source code reuse detection. Our approach is based on the comparison of programs at character level. It is able to find potential cases of reuse across a huge number of assignments. It achieved better results than JPlag, the most used online system to find similarities among multiple sets of source codes. The most common obfuscation operations we found were changes in identifier names, comments and indentation.
منابع مشابه
Dwarf Frankenstein is still in your memory: tiny code reuse attacks
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...
متن کاملLarge-Scale Automated Software Diversity - Program Evolution Redux
The software monoculture favors attackers over defenders, since it makes all target environments appear similar. Code-reuse attacks, for example, rely on target hosts running identical software. Attackers use this assumption to their advantage by automating parts of creating an attack. This article presents large-scale automated software diversification as a means to shore up this vulnerability...
متن کاملSystem Support for Large-Scale Collaborative Applications
In this technical report we describe a storage system aimed on supporting collaborative applications in large-scale environments that include mobile computers. To maximize availability, it uses weakly consistent server replication and client caching with a read any/write any model of data access. To allow easy management of concurrent updates it provides an object framework that isolates the pr...
متن کاملApplying Experiences of Organizing Large-Scale Knowledge Bases to Industry-Sized Software Reuse
keywords. compositional software reuse, large-scale knowledge base organization, contextual knowledge representation, multiple-view approach, case-based reasoning. 1. INTRODUCTION Software reuse is widely believed to be a promising means for improving software productivity and reliability, and therefore is an issue of growing interest in software engineering. Unfortunately, many difficulties pr...
متن کاملA Pattern-based Framework to Address Abstraction, Reuse, and Cross-domain Aspects in Domain Specific Visual Languages
The history of software development has shown a trend towards higher levels of abstraction, code reuse and automatic code generation. This trend has continued with the development of Domain Specific Visual Languages (DSVL). We have developed a framework for the creation, use, and management of Patterns for DSVL environments that supports high levels of abstraction and high degrees of reuse and ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Comp. Applic. in Engineering Education
دوره 23 شماره
صفحات -
تاریخ انتشار 2015